home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / G-Games / (c)ge.d64 / football 84.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  29KB  |  1,048 lines

  1. 100 REM ******************************
  2. 110 REM ***                        ***
  3. 120 REM ***      FOOTBALL84        ***
  4. 130 REM ***  WRITTEN BY: LES SUMI  ***
  5. 140 REM ***    16 JANUARY 1984     ***
  6. 150 REM ***                        ***
  7. 160 REM ******************************
  8. 170 REM
  9. 180 REM
  10. 185 CLR
  11. 190 DIM S(2),STR(2,5),N$(2),L$(12),Q(2),SC(2),D$(8),T1(2),TP(2)
  12. 200 GOSUB 6190
  13. 210 D$(1)="STANDARD DEFENCE": D$(2)="SHORT YARDAGE DEFENCE"
  14. 220 D$(3)="'NICKEL' DEFENCE": D$(4)="'PREVENT' DEFENCE"
  15. 230 D$(5)="PARTIAL BLITZ": D$(6)="ALL-OUT BLITZ"
  16. 240 D$(7)="TIMEOUT": D$(8)="STATUS"
  17. 250 FOR I=1 TO 2
  18. 260 F1(I)=0: R1(I)=0: P1(I)=0: NY1(I)=0: P2(I)=0: P3(I)=0: I1(I)=0: PA(I)=0
  19. 270 PC(I)=0:SC(I)=0:T1(I)=3:P4(I)=0:P5(I)=0:F2(I)=0:F3(I)=0:QQ(I)=0:NEXTI
  20. 280 Q=1: QQ=0: E=0: HT=0: T=0: W=0: WW=0: OT=0: TP(1)=0: TP(2)=0
  21. 290 REM CHOOSE TEAM NAMES
  22. 300 PRINT"[147]":PRINT:PRINTTAB(11);"*** FOOTBALL84 ***"
  23. 310 PRINT"CHOOSE TEAM NAMES[146]"
  24. 320 PRINT:PRINT"YOUR TEAM NAME";        
  25. 330 INPUT N$(1)
  26. 340 IF LEN(N$(1))<12 THEN 360
  27. 350 PRINT"ONLY 12 CHARACTERS.....TRY AGAIN":PRINT: GOTO 320
  28. 360 PRINT:PRINT:PRINT:PRINT
  29. 370 PRINT"COMPUTER TEAM NAME";
  30. 380 INPUT N$(2)
  31. 390 IF LEN(N$(2))<12 THEN 410
  32. 400 PRINT"ONLY 12 CHARACTERS.....TRY AGAIN":PRINT: GOTO 370
  33. 410 PRINT
  34. 420 REM CHOOSE LEVEL OF DIFFICULTY (WIMP FACTOR)
  35. 430 PRINT"[147]CHOOSE LEVEL OF DIFFICULTY:[146]"
  36. 440 PRINT"  (WIMP FACTOR)  [146]":PRINT:PRINT:PRINT
  37. 450 PRINT" <W>IMPY  - WHEN YOU LOOK UP 'WIMP' IN"
  38. 460 PRINT"            THE DICTIONARY, YOU SEE"
  39. 470 PRINT"            YOUR REFLECTION!!":PRINT
  40. 480 PRINT" <E>ASY   - YOUR IDEA OF A CHALLENGE"
  41. 490 PRINT"            IS TO OPEN A BOX OF"
  42. 500 PRINT"            CORNFLAKES WITHOUT READING"
  43. 510 PRINT"            THE INSTRUCTIONS!!":PRINT
  44. 520 PRINT" <M>EDIUM - YOU HAVE THE HEART OF A"
  45. 530 PRINT"            LION BUT FEET OF CLAY!!":PRINT
  46. 540 PRINT" <H>ARD   - YOU HAVE MORE COURAGE"
  47. 550 PRINT"            THAN BRAINS!!":PRINT
  48. 560 INPUT L$
  49. 570 IF L$="W" THEN WF=-1.4: GOTO 620
  50. 580 IF L$="E" THEN WF=-0.5: GOTO 620
  51. 590 IF L$="M" THEN WF=-0.2: GOTO 690
  52. 600 IF L$="H" THEN WF=1.1: GOTO 690
  53. 610 PRINT:PRINT"INVALID INPUT...TRY AGAIN":PRINT:GOTO 560
  54. 620 PRINT"[147]"
  55. 630 PRINTTAB(10);"      [223][169]   [223][146]"
  56. 640 PRINTTAB(10);"        [146]"
  57. 650 PRINTTAB(10);"        [146][169]"
  58. 660 PRINTTAB(10);" [169][223]      [146]"
  59. 670 PRINTTAB(10);"[223] [146][169][223] [146][169]       [146]"
  60. 680 GOSUB 6280
  61. 690 REM CHOOSE TEAM STRENGTHS
  62. 700 PRINT"[147]":PRINT"CHOOSE TEAM STRENGTHS[146] (SUM MUST BE TEN)":PRINT:PRINT
  63. 710 L$(1)="RUSHING OFFENCE": L$(2)="PASSING OFFENCE": L$(3)="RUSHING DEFENCE"
  64. 720 L$(4)="PASSING DEFENCE": L$(5)="SPECIAL TEAMS  "
  65. 730 FOR I=1 TO 2
  66. 740 FOR K=1 TO 5: STR(I,K)=0: NEXT K: NEXT I
  67. 750 PRINT"";N$(1);""
  68. 760 TQ=0
  69. 770 FOR K=1 TO 5
  70. 780 PRINTL$(K);
  71. 790 INPUT STR(1,K): STR(1,K)=ABS(STR(1,K))
  72. 800 TQ=TQ+STR(1,K)
  73. 810 NEXT K
  74. 820 PRINT"TOTAL:          ";TQ:PRINT: GOSUB 6270
  75. 830 IF TQ<=10 THEN 870
  76. 840 PRINT"TOTAL GREATER THAN TEN.....ARE YOU"
  77. 850 PRINT"TRYING TO CHEAT OR CAN'T YOU COUNT?"
  78. 860 PRINT"TRY AGAIN": GOSUB 6270: GOTO 750
  79. 870 PRINT"VERIFY SELECTIONS[146]": PRINT:PRINT
  80. 880 PRINT"DO YOU WISH TO CHANGE YOUR MIND";
  81. 890 INPUT CHECK$
  82. 900 IF LEFT$(CHECK$,1)="Y" THEN 750
  83. 910 FOR K=1 TO 5
  84. 920 IF STR(1,K)>4+WF THEN STR(1,K)=3.5
  85. 930 NEXT K
  86. 940 PRINT
  87. 950 PRINT"COMPUTER SELECTS ";N$(2)
  88. 960 PRINT"TEAM STRENGTHS...": GOSUB 6270
  89. 970 TQ=0
  90. 980 FOR K=2 TO 5
  91. 990 STR(2,K)=INT(4*RND(.))
  92. 1000 TQ=TQ+STR(2,K)
  93. 1010 NEXT K
  94. 1020 IF TQ<6 OR TQ>9 THEN 970
  95. 1030 STR(2,1)=10-TQ
  96. 1040 REM COIN TOSS
  97. 1050 PRINT"[147]COIN TOSS[146]":PRINT:PRINT
  98. 1060 ZZ=INT(RND(.)*2)+1
  99. 1070 ON ZZ GOTO 1160,1080
  100. 1080 S=STR(2,3)+STR(2,4)-STR(2,1)-STR(2,2)
  101. 1090 IF S>0 AND RND(.)<0.5 THEN 1130
  102. 1100 PRINT N$(ZZ);" WON THE TOSS AND ELECTS"
  103. 1110 PRINT" TO RECEIVE": QB=2: MLB=1
  104. 1120 GOTO 1240
  105. 1130 PRINT N$(ZZ);" WON THE TOSS AND ELECTS"
  106. 1140 PRINT " TO KICKOFF": QB=1: MLB=2
  107. 1150 GOTO 1240
  108. 1160 PRINT N$(ZZ);" WON THE TOSS"
  109. 1170 PRINT"WILL YOU <K>ICK OR <R>ECEIVE";
  110. 1180 INPUT G$
  111. 1190 IF LEFT$(G$,1)<>"K" AND LEFT$(G$,1)<>"R" THEN 1170
  112. 1200 IF LEFT$(G$,1)="K" THEN 1230
  113. 1210 QB=1: MLB=2
  114. 1220 GOTO 1240
  115. 1230 QB=2: MLB=1
  116. 1240 IF QB=1 THEN SX=2
  117. 1250 IF QB=2 THEN SX=1
  118. 1260 REM KICKOFF
  119. 1270 IF OT=1 AND SC(1)<>SC(2) THEN 8890
  120. 1280 DOWN=1: PRINT:PRINT:PRINT" *** KICKOFF ***":PRINT
  121. 1290 IF QB=2 THEN 1320
  122. 1300 IF T>55 AND (SC(1)-SC(2))>0 THEN OS$="Y": GOTO 1340
  123. 1310 GOTO 1350
  124. 1320 PRINT"ON-SIDE KICK";
  125. 1330 INPUT OS$
  126. 1340 IF LEFT$(OS$,1)="Y" THEN 1680
  127. 1350 KL=45+INT(26*RND(.)+STR(MLB,5))
  128. 1360 PRINT KL;" YARD KICKOFF..."
  129. 1370 YL=65-KL
  130. 1380 IF YL<-10 THEN 1580
  131. 1390 IF YL<0 THEN 1470
  132. 1400 PRINT"BALL IS ON ";YL;" YARDLINE."
  133. 1410 IF RND(.)>0.94 THEN 1610
  134. 1420 RL=INT(18*RND(.)+18*RND(.)+STR(QB,5))
  135. 1430 YL=YL+RL
  136. 1440 IF YL<0 THEN 1580
  137. 1450 PRINTRL;" YARD RETURN."
  138. 1460 GOTO 1650
  139. 1470 PRINT"BALL IS ";ABS(YL);" YARDS DEEP"
  140. 1480 PRINT"IN THE ENDZONE."
  141. 1490 IF QB=1 THEN 1530
  142. 1500 PRINTN$(2);" ELECTS TO DOWN THE BALL IN"
  143. 1510 PRINT"THE ENDZONE...";
  144. 1520 GOTO 1580
  145. 1530 PRINT"DO YOU WANT TO BRING IT OUT";
  146. 1540 INPUT R$
  147. 1550 IF LEFT$(R$,1)="N" THEN 1580
  148. 1560 GOTO 1410
  149. 1570 PRINT"KICK RETURNER TACKLED IN ENDZONE"
  150. 1580 PRINT"TOUCHBACK."
  151. 1590 YL=20
  152. 1600 GOTO 1650
  153. 1610 RL=INT(100*RND(.))+10
  154. 1620 YL=YL+RL
  155. 1630 IF YL>99 THEN 7510: GOTO 1270
  156. 1640 PRINTRL;" YARD RETURN."
  157. 1650 Y=YL: A=QB: IF YL>50 THEN A=MLB: Y=100-YL
  158. 1660 GOTO 1770
  159. 1670 PRINT"BALL IS ON";N$(A);Y;"YARDLINE.": GOTO 1770
  160. 1680 IF RND(.)<0.75 THEN 1720
  161. 1690 PRINT"ON-SIDE KICK SUCCESSFUL."
  162. 1700 W=QB: QB=MLB: MLB=W: YL=55-INT(9*RND(.)): GOTO 1650
  163. 1710 GOTO 1770
  164. 1720 PRINT"ON-SIDE KICK NOT SUCCESSFUL."
  165. 1730 YL=55-INT(9*RND(.))
  166. 1740 GOTO 1650
  167. 1750 RETURN
  168. 1760 REM SELECT OFFENSIVE PLAY
  169. 1770 DOWN=1: YFIRST=10
  170. 1780 PRINT:PRINT"FIRST DOWN ";N$(QB);"."
  171. 1790 PRINT"BALL ON ";N$(A);Y;" YARDLINE."
  172. 1800 ZZ=TI
  173. 1810 IF QB=2 THEN 9510
  174. 1820 PRINT:PRINT"SELECT OFFENSIVE PLAY";
  175. 1830 INPUT OP
  176. 1840 IF (TI-ZZ)<1800 THEN 1890
  177. 1850 PRINT:PRINT"DELAY OF GAME PENALTY ON ";N$(QB);"!!"
  178. 1860 YL=YL-5: YFIRST=YFIRST+5: P2(QB)=P2(QB)+1: P3(QB)=P3(QB)+5
  179. 1870 IF YL-5<1 THEN YL=INT(YL/2)
  180. 1880 GOTO 6020
  181. 1890 OP=INT(OP)
  182. 1900 IF OP>0 AND OP<15 THEN 2070
  183. 1910 PRINT:PRINT"OFFENSIVE PLAYS:[146]":PRINT
  184. 1920 PRINT"1. LINE PLUNGE"
  185. 1930 PRINT"2. TRAP PLAY"
  186. 1940 PRINT"3. POWER SWEEP"
  187. 1950 PRINT"4. DRAW PLAY"
  188. 1960 PRINT"5. SCREEN PASS"
  189. 1970 PRINT"6. SHORT PASS"
  190. 1980 PRINT"7. MEDIUM PASS"
  191. 1990 PRINT"8. LONG PASS"
  192. 2000 PRINT"9. SIDELINE PASS"
  193. 2010 PRINT"10. PUNT"
  194. 2020 PRINT"11. FIELD GOAL"
  195. 2030 PRINT"12. STATUS"
  196. 2040 PRINT"13. TIMEOUT"
  197. 2050 PRINT"14. QUIT"
  198. 2060 GOTO 1800
  199. 2070 REM SELECT DEFENSIVE PLAY
  200. 2080 IF OP>9 THEN 2210
  201. 2090 IF MLB=2 THEN 10060
  202. 2100 PRINT:PRINT"SELECT DEFENSIVE PLAY";
  203. 2110 INPUT DP
  204. 2120 DP=INT(DP)
  205. 2130 IF DP>0 AND DP<9 THEN 2190
  206. 2140 PRINT:PRINT"DEFENSIVE PLAY:[146]":PRINT
  207. 2150 FOR I=1 TO 8
  208. 2160 PRINT I;".  ";D$(I)
  209. 2170 NEXT I
  210. 2180 GOTO 2100
  211. 2190 IF DP=7 THEN 6800
  212. 2200 IF DP=8 THEN GOSUB 7620: GOTO 2070
  213. 2210 IF OP=14 THEN 7920
  214. 2220 ON OP GOTO2230,2560,2900,3210,3570,3910,4390,4860,5320,5380,5570,7620,6800
  215. 2230 REM 1. LINE PLUNGE
  216. 2240 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0
  217. 2250 PRINT:PRINT"LINE PLUNGE..."
  218. 2260 PRINT" ";D$(DP);"..."
  219. 2270 IF RND(.)<0.02 THEN FUMB=1
  220. 2280 IF RND(.)<0.05 THEN PENALTY=1
  221. 2290 GOSUB 9460
  222. 2300 IF RND(.)<0.04 THEN 2330
  223. 2310 GAIN=3*(STR(QB,1)-STR(MLB,3))+4*RND(.)
  224. 2320 GAIN=INT(GAIN): GOTO 2350
  225. 2330 GAIN=30*RND(.)+20*(STR(QB,1)-STR(MLB,3))
  226. 2340 GAIN=INT(GAIN)
  227. 2350 ON DP GOTO 2360,2370,2400,2420,2430,2460
  228. 2360 GOTO 2490
  229. 2370 IF RND(.)<0.02 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2490
  230. 2380 IF RND(.)<0.20 THEN GAIN=INT(-4*RND(.)): GOTO 2490
  231. 2390 GAIN=GAIN-1: GOTO 2490
  232. 2400 IF RND(.)<0.5 THEN 2490
  233. 2410 GAIN=GAIN+INT(5*RND(.)): GOTO 2490
  234. 2420 IF RND(.)<0.5 THEN 2490
  235. 2430 IF RND(.)<0.20 THEN GAIN=INT(-4*RND(1)): GOTO 2490
  236. 2440 IF RND(.)<0.3 THEN GAIN=GAIN+INT(30*RND(.)): GOTO 2490
  237. 2450 GOTO 2490
  238. 2460 IF RND(.)<0.30 THEN GAIN=INT(-4*RND(.)): GOTO 2490
  239. 2470 IF RND(.)<0.5 THEN GAIN=GAIN+INT(40*RND(.))
  240. 2480 IF YL+GAIN>99 THEN 7510
  241. 2490 IF GAIN<0 THEN GOSUB 6940
  242. 2500 IF GAIN=0 THEN GOSUB 6960
  243. 2510 IF GAIN>0 THEN GOSUB 6980
  244. 2520 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850
  245. 2530 IF PENALTY<>1 THEN 2550
  246. 2540 PRINT"...BUT THERE'S A PENALTY ON THE PLAY": PENALTY=0: GOSUB 7010
  247. 2550 GOTO 5850
  248. 2560 REM 2. TRAP PLAY
  249. 2570 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0
  250. 2580 PRINT:PRINT"TRAP PLAY..."
  251. 2590 PRINT" ";D$(DP);"..."
  252. 2600 R=STR(QB,1)-STR(MLB,3)
  253. 2610 IF RND(.)<0.055 THEN PEN=1
  254. 2620 IF RND(.)<0.05 THEN FUMB=1
  255. 2630 GOSUB 9460
  256. 2640 IF RND(.)<0.15 THEN 2660
  257. 2650 GAIN=INT(4*RND(.)+5*R): GOTO 2670
  258. 2660 GAIN=INT(50*RND(.))
  259. 2670 ON DP GOTO 2680,2690,2720,2740,2760,2790
  260. 2680 GOTO 2830
  261. 2690 IF RND(.)<0.03 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2830
  262. 2700 IF RND(.)<0.5 THEN GAIN=INT(-4*RND(.)): GOTO 2830
  263. 2710 GAIN=GAIN-1: GOTO 2830
  264. 2720 IF RND(.)<0.2 AND D>0 THEN GAIN=GAIN+INT(30*RND(.)): GOTO 2830
  265. 2730 GAIN=GAIN+INT(5*RND(.)): GOTO 2830
  266. 2740 IF RND(.)<0.3 AND R>0 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 2830
  267. 2750 GAIN=GAIN+INT(10*RND(1)): GOTO 2830
  268. 2760 IF RND(.)<0.3 THEN GAIN=INT(-5*RND(.)): GOTO 2830
  269. 2770 IF RND(.)<0.5 THEN 2830
  270. 2780 GAIN=GAIN+INT(40*RND(.)): GOTO 2830
  271. 2790 IF RND(.)<0.6 THEN GAIN=INT(-5*RND(1)): GOTO 2830
  272. 2800 IF RND(.)<0.5 THEN 2830
  273. 2810 GAIN=GAIN+INT(40*RND(.))
  274. 2820 IF YL+GAIN>99 THEN 7510
  275. 2830 IF GAIN<0 THEN GOSUB 6940
  276. 2840 IF GAIN=0 THEN GOSUB 6960
  277. 2850 IF GAIN>0 THEN GOSUB 6980
  278. 2860 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850
  279. 2870 IF PENALTY<>1 THEN 2890
  280. 2880 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010
  281. 2890 GOTO 5850
  282. 2900 REM 3. POWER SWEEP
  283. 2910 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0
  284. 2920 PRINT:PRINT"POWER SWEEP..."
  285. 2930 PRINT" ";D$(DP);"..."
  286. 2940 R=STR(QB,1)-STR(MLB,3)
  287. 2950 IF RND(.)<0.1 THEN PEN=1
  288. 2960 IF RND(.)<0.07 THEN FUMB=1
  289. 2970 GOSUB 9460
  290. 2980 IF RND(.)<0.2 AND R>0 THEN 3000
  291. 2990 GAIN=INT(2*RND(.)+10*RND(.)*R): GOTO 3010
  292. 3000 GAIN=INT(40*RND(.))
  293. 3010 ON DP GOTO 3020,3030,3050,3070,3080,3110
  294. 3020 GOTO 3140
  295. 3030 IF RND(.)<0.1 AND R>0 THEN GAIN=INT(50*RND(.)): GOTO 3140
  296. 3040 GAIN=GAIN-INT(3*RND(.)): GOTO 3140
  297. 3050 IF RND(.)<0.5 THEN 3140
  298. 3060 GAIN=GAIN+INT(5*RND(.)): GOTO 3140
  299. 3070 GAIN=GAIN+INT(20*RND(.)): GOTO 3140
  300. 3080 IF RND(.)<0.4 THEN GAIN=INT(-8*RND(1)): GOTO 3140
  301. 3090 IF RND(.)<0.7 THEN 3140
  302. 3100 GAIN=GAIN+INT(40*RND(.)): GOTO 3140
  303. 3110 IF RND(.)<0.6 THEN GAIN=INT(-10*RND(.)): GOTO 3140
  304. 3120 IF RND(.)<0.7 THEN GAIN=GAIN+INT(30*RND(.))
  305. 3130 IF YL+GAIN>99 THEN 7510
  306. 3140 IF GAIN<0 THEN GOSUB 6940
  307. 3150 IF GAIN=0 THEN GOSUB 6960
  308. 3160 IF GAIN>0 THEN GOSUB 6980
  309. 3170 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850
  310. 3180 IF PENALTY<>1 THEN 3200
  311. 3190 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010
  312. 3200 GOTO 5850
  313. 3210 REM 4. DRAW PLAY
  314. 3220 PEN=0: HOLD=0: PI=0: ICEPT=0: FUMB=0
  315. 3230 PRINT:PRINT"DRAW PLAY..."
  316. 3240 PRINT" ";D$(DP);"..."
  317. 3250 RP=STR(QB,1)+STR(QB,2)-STR(MLB,3)-STR(MLB,4)
  318. 3260 IF RND(.)<0.075 THEN PENALTY=1
  319. 3270 IF RND(.)<0.05 THEN FUMB=1
  320. 3280 GOSUB 9460
  321. 3290 IF RND(.)<0.1 THEN 3330
  322. 3300 GAIN=INT(10*RND(.)*RP)
  323. 3310 IF GAIN=0 THEN GAIN=INT(5*RND(.))-2
  324. 3320 GOTO 3340
  325. 3330 GAIN=INT(40*RND(.))
  326. 3340 ON DP GOTO 3350,3360,3380,3410,3430,3460
  327. 3350 GOTO 3500
  328. 3360 IF RND(.)<0.05 THEN GAIN=GAIN+INT(40*RND(.)): GOTO 3500
  329. 3370 GAIN=GAIN+INT(-10*RND(.)): GOTO 3500
  330. 3380 IF RND(.)<0.5 THEN GAIN=GAIN+INT(10*RND(.)): GOTO 3500
  331. 3390 IF RND(.)<0.15 THEN GAIN=INT(20*RND(.)): GOTO 3500
  332. 3400 GOTO 3500
  333. 3410 IF RND(.)<0.6 THEN GAIN=GAIN+INT(15*RND(.)): GOTO 3500
  334. 3420 GAIN=GAIN+INT(4*RND(.)): GOTO 3500
  335. 3430 IF RND(.)<0.5 THEN GAIN=INT(-9*RND(1)): GOTO 3500
  336. 3440 IF RND(.)<0.5 THEN GAIN=GAIN+INT(25*RND(.)): GOTO 3500
  337. 3450 GOTO 3500
  338. 3460 IF RND(.)<0.65 THEN GAIN=INT(-9*RND(.)): GOTO 3500
  339. 3470 IF RND(.)<0.65 THEN 3500
  340. 3480 GAIN=GAIN+INT(35*RND(.))
  341. 3490 IF YL+GAIN>99 THEN 7510
  342. 3500 IF GAIN<0 THEN GOSUB 6940
  343. 3510 IF GAIN=0 THEN GOSUB 6960
  344. 3520 IF GAIN>0 THEN GOSUB 6980
  345. 3530 IF FUMB=1 THEN GOSUB 6450: PEN=0: GOTO 5850
  346. 3540 IF PENALTY<>1 THEN 3560
  347. 3550 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010
  348. 3560 GOTO 5850
  349. 3570 REM 5. SCREEN PASS
  350. 3580 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0
  351. 3590 PRINT:PRINT"SCREEN PASS..."
  352. 3600 PRINT" ";D$(DP);"..."
  353. 3610 P=STR(QB,2)-STR(MLB,4)
  354. 3620 IF RND(.)<0.035 THEN PEN=1
  355. 3630 GOSUB 9460
  356. 3640 IF RND(.)<0.05 THEN ICEPT=1
  357. 3650 IF RND(.)<0.70 THEN COMP=1
  358. 3660 IF COMP=1 THEN GAIN=INT(10*RND(.)+10*RND(.)*P)
  359. 3670 ON DP GOTO 3680,3690,3720,3740,3760,3790
  360. 3680 GOTO 3820
  361. 3690 COMP=0: IF RND(.)<0.35 THEN COMP=1
  362. 3700 IF COMP=1 THEN GAIN=INT(10*RND(.)*P)
  363. 3710 GOTO 3820
  364. 3720 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(12*RND(.))
  365. 3730 GOTO 3820
  366. 3740 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(20*RND(.))
  367. 3750 GOTO 3820
  368. 3760 IF RND(.)<0.4 AND COMP=1 THEN GAIN=GAIN-INT(10*RND(.))
  369. 3770 IF RND(.)<0.4 AND COMP=1 THEN GAIN=GAIN+INT(30*RND(.))
  370. 3780 GOTO 3820
  371. 3790 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN-INT(10*RND(.))
  372. 3800 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(40*RND(.))
  373. 3810 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900
  374. 3820 IF COMP=1 THEN GOSUB 7490
  375. 3830 IF COMP<>1 THEN GOSUB 7500: GAIN=0
  376. 3840 IF YL+GAIN>99 THEN 7510
  377. 3850 IF GAIN<0 THEN GOSUB 6940
  378. 3860 IF GAIN=0 THEN GOSUB 6960
  379. 3870 IF GAIN>0 THEN GOSUB 6980
  380. 3880 IF PENALTY<>1 THEN 3900
  381. 3890 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010
  382. 3900 GOTO 5850
  383. 3910 REM 6. SHORT PASS
  384. 3920 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0
  385. 3930 IF OP=9 THEN 3950
  386. 3940 PRINT:PRINT"SHORT PASS..." 
  387. 3950 PRINT" ";D$(DP);"..."
  388. 3960 P=STR(QB,2)-STR(QB,4)
  389. 3970 IF RND(.)<0.05 THEN PEN=1
  390. 3980 IF RND(.)<0.04 THEN PI=1
  391. 3990 IF RND(.)<0.67 THEN COMP=1
  392. 4000 IF RND(.)<0.2 AND P<0 THEN COMP=0
  393. 4010 IF COMP=1 THEN GAIN=INT(15*RND(0))
  394. 4020 ON DP GOTO 4030,4050,4090,4120,4160,4210
  395. 4030 IF RND(.)<0.05 THEN HOLD=1: GOTO 4250
  396. 4040 GOTO 4250
  397. 4050 IF RND(.)<0.05 THEN HOLD=1
  398. 4060 IF RND(.)<0.05 THEN ICEPT=1
  399. 4070 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*INT(0))
  400. 4080 GOTO 4250
  401. 4090 IF RND(.)<0.3 THEN COMP=0: GAIN=0
  402. 4100 IF RND(.)<0.05 THEN HOLD=1
  403. 4110 GOTO 4250
  404. 4120 IF RND(.)<0.025 THEN HOLD=1
  405. 4130 IF COMP=0 AND RND(.)<0.5 THEN COMP=1
  406. 4140 IF COMP=1 THEN GAIN=INT(15*RND(0))
  407. 4150 GOTO 4250
  408. 4160 IF RND(.)<0.085 THEN HOLD=1
  409. 4170 IF RND(.)<0.2 THEN ICEPT=1
  410. 4180 IF RND(.)<0.2 THEN SACK=1
  411. 4190 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  412. 4200 GOTO 4250
  413. 4210 IF RND(.)<0.085 THEN HOLD=1
  414. 4220 IF RND(.)<0.2 THEN ICEPT=1
  415. 4230 IF RND(.)<0.35 THEN SACK=1
  416. 4240 IF RND(.)<0.25 AND COMP=1 THEN GAIN=GAIN+INT(40*RND(.))
  417. 4250 GOSUB 9460
  418. 4260 IF SACK=1 THEN GOSUB 7440: GOTO 4320
  419. 4270 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900
  420. 4280 IF COMP=1 THEN GOSUB 7490
  421. 4290 IF COMP<>1 THEN GOSUB 7500: GAIN=0
  422. 4300 IF PI=1 THEN GOSUB 6540: GOTO 5850
  423. 4310 IF YL+GAIN>99 THEN 7510
  424. 4320 IF GAIN<0 THEN GOSUB 6940
  425. 4330 IF GAIN=0 THEN GOSUB 6960
  426. 4340 IF GAIN>0 THEN GOSUB 6980
  427. 4350 IF HOLD=1 THEN GOSUB 7040: PENALTY=0
  428. 4360 IF PENALTY<>1 THEN 4380
  429. 4370 PRINT"...BUT THERE'S A PENALTY ON THE PLAY.": PENALTY=0: GOSUB 7010
  430. 4380 GOTO 5850
  431. 4390 REM 7. MEDIUM PASS
  432. 4400 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0
  433. 4410 IF OP=9 THEN 4430
  434. 4420 PRINT:PRINT"MEDIUM PASS..."
  435. 4430 PRINT" ";D$(DP);"..."
  436. 4440 P=STR(QB,2)-STR(MLB,4)
  437. 4450 IF RND(.)<0.05 THEN PEN=1
  438. 4460 IF RND(.)<0.04 THEN PI=1
  439. 4470 IF RND(.)<0.5 THEN COMP=1
  440. 4480 IF RND(.)<0.2 AND P<0 THEN COMP=0
  441. 4490 IF COMP=1 THEN GAIN=INT(30*RND(.)+5)
  442. 4500 ON DP GOTO 4510,4530,4560,4590,4620,4670
  443. 4510 IF RND(0)<0.075 THEN HOLD=1
  444. 4520 GOTO 4710
  445. 4530 IF RND(.)<0.075 THEN HOLD=1
  446. 4540 IF RND(.)<0.5 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  447. 4550 GOTO 4710
  448. 4560 IF RND(.)<0.3 THEN COMP=0
  449. 4570 IF RND(.)<0.075 THEN HOLD=1
  450. 4580 GOTO 4710
  451. 4590 IF RND(.)<0.3 THEN COMP=0
  452. 4600 IF RND(.)<0.035 THEN HOLD=1
  453. 4610 GOTO 4710
  454. 4620 IF RND(.)<0.11 THEN HOLD=1
  455. 4630 IF RND(.)<0.1 THEN ICEPT=1
  456. 4640 IF RND(.)<0.2 THEN SACK=1
  457. 4650 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  458. 4660 GOTO 4710
  459. 4670 IF RND(.)<0.125 THEN HOLD=1
  460. 4680 IF RND(0)<0.1 THEN ICEPT=1
  461. 4690 IF RND(.)<0.3 THEN SACK=1
  462. 4700 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  463. 4710 GOSUB 9460
  464. 4720 IF SACK=1 THEN GOSUB 7440: GOTO 4780
  465. 4730 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900
  466. 4740 IF COMP=1 THEN GOSUB 7490
  467. 4750 IF COMP<>1 THEN GOSUB 7500: GAIN=0
  468. 4760 IF PI=1 THEN GOSUB 6540: GOTO 5850
  469. 4770 IF YL+GAIN>99 THEN 7510
  470. 4780 IF GAIN<0 THEN GOSUB 6940
  471. 4790 IF GAIN=0 THEN GOSUB 6960
  472. 4800 IF GAIN>0 THEN GOSUB 6980
  473. 4810 IF PENALTY<>1 AND HOLD<>1 THEN 4850
  474. 4820 PRINT"...BUT THERE'S A PENALTY ON THE PLAY."
  475. 4830 IF HOLD=1 THEN GOSUB 7040: PENALTY=0
  476. 4840 IF PENALTY=1 THEN GOSUB 7010
  477. 4850 GOTO 5850
  478. 4860 REM 8. LONG PASS
  479. 4870 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0
  480. 4880 PRINT:PRINT"LONG PASS..."
  481. 4890 PRINT" ";D$(DP);"..."
  482. 4900 IF RND(.)<0.05 THEN PENALTY=1
  483. 4910 IF RND(.)<0.05 THEN PI=1
  484. 4920 IF RND(.)<0.33 THEN COMP=1
  485. 4930 IF COMP=1 THEN GAIN=15+INT(45*RND(.))
  486. 4940 ON DP GOTO 4950,4970,5000,5030,5070,5120
  487. 4950 IF RND(.)<0.1 THEN HOLD=1
  488. 4960 GOTO 5160
  489. 4970 IF RND(.)<0.1 THEN HOLD=1
  490. 4980 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  491. 4990 GOTO 5160
  492. 5000 IF RND(.)<0.3 THEN COMP=0
  493. 5010 IF RND(.)<0.05 THEN HOLD=1
  494. 5020 GOTO 5160
  495. 5030 IF RND(.)<0.075 THEN HOLD=1
  496. 5040 IF RND(.)<0.5 THEN COMP=0
  497. 5050 IF COMP=1 AND RND(.)<0.5 THEN GAIN=GAIN+INT(25*RND(.))
  498. 5060 GOTO 5160
  499. 5070 IF RND(.)<0.1 THEN HOLD=1
  500. 5080 IF RND(.)<0.1 THEN ICEPT=1
  501. 5090 IF RND(.)<0.2 THEN SACK=1
  502. 5100 IF RND(.)<0.2 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  503. 5110 GOTO 5160
  504. 5120 IF RND(.)<0.1 THEN HOLD=1
  505. 5130 IF RND(.)<0.1 THEN ICEPT=1
  506. 5140 IF RND(.)<0.3 THEN SACK=1
  507. 5150 IF RND(.)<0.3 AND COMP=1 THEN GAIN=GAIN+INT(25*RND(.))
  508. 5160 GOSUB 9460
  509. 5170 IF SACK=1 THEN GOSUB 7440: GOTO 5240
  510. 5180 IF PI=1 THEN GOSUB 6540: GOTO 5850
  511. 5190 IF ICEPT=1 THEN GOSUB 6690: GOTO 5900
  512. 5200 IF SACK=1 THEN 5240
  513. 5210 IF COMP=1 THEN GOSUB 7490
  514. 5220 IF COMP<>1 THEN GOSUB 7500: GAIN=0
  515. 5230 IF YL+GAIN>99 THEN 7510
  516. 5240 IF GAIN<0 THEN GOSUB 6940
  517. 5250 IF GAIN=0 THEN GOSUB 6960
  518. 5260 IF GAIN>0 THEN GOSUB 6980
  519. 5270 IF PENALTY<>1 OR HOLD<>1 THEN 5310
  520. 5280 PRINT"...BUT THERE'S A PENALTY ON THE PLAY."
  521. 5290 IF HOLD=1 THEN GOSUB 7040: PENALTY=0
  522. 5300 IF PENALTY=1 THEN 7010
  523. 5310 GOTO 5850
  524. 5320 REM 9. SIDELINE PASS
  525. 5330 COMP=0: HOLD=0: SACK=0: PI=0: PENALTY=0
  526. 5340 PRINT:PRINT"SIDELINE PASS..."
  527. 5350 IF RND(0)<0.5 THEN 3910
  528. 5360 GOTO 4390
  529. 5370 REM 10. PUNT
  530. 5380 PP=10*RND(1)+3*STR(QB,5): T=T+0.2
  531. 5390 PNT=35+INT(PP)
  532. 5400 P4(QB)=P4(QB)+1:QQ(QB)=QQ(QB)+PNT: P5(QB)=INT(10*QQ(QB)/P4(QB))/10
  533. 5410 YL=YL+PNT: YL=100-YL: YFIRST=10
  534. 5420 Z=QB: QB=MLB: MLB=Z: DOWN=1
  535. 5430 PRINT:PRINTPNT;" YARD PUNT..."
  536. 5440 IF YL<=0 THEN 5530
  537. 5450 IF RND(.)<0.1 THEN 5480
  538. 5460 PR=10*RND(.)+3*STR(QB,5)
  539. 5470 PR=INT(PR): GOTO 5490
  540. 5480 PR=INT(40*RND(.)*STR(QB,5))
  541. 5490 IF PR<0 THEN PR=0
  542. 5500 IF PR=0 THEN PRINT"FAIR CATCH ";N$(QB): GOTO 5540
  543. 5510 YL=YL+PR
  544. 5520 PRINTPR;" YARD RETURN.": GOTO 5540
  545. 5530 PRINT"TOUCHBACK...": YL=20
  546. 5540 IF YL>99 THEN 7510
  547. 5550 PRINT: PRINT"FIRST DOWN ";N$(QB);".  ";YFIRST;" YARDS TO GO."
  548. 5560 GOTO 6100
  549. 5570 REM 11. FIELD GOAL
  550. 5580 FGL=117-YL: GD=0: BL=0: S=STR(QB,5)-STR(MLB,5): T=T+0.1
  551. 5590 PRINTFGL;" YARD FIELD GOAL ATTEMPT...": GOSUB 6270
  552. 5600 IF FGL>50+10*S THEN 5800
  553. 5610 IF FGL>25+10*S THEN 5630
  554. 5620 IF RND(0)<0.9-0.25*FGL/35 THEN GD=1: GOTO 5640
  555. 5630 IF RND(0)<0.65-0.65*(FGL-35)/25 THEN GD=1
  556. 5640 IF GD<>1 THEN 5800
  557. 5650 S=STR(QB,5)-STR(MLB,5): IF S<0 AND RND(0)<0.1 THEN BL=1
  558. 5660 IF BL<>1 THEN 5690
  559. 5670 PRINT"FIELD GOAL ATTEMPT IS BLOCKED!": Z=QB: QB=MLB: MLB=Z: YL=100-YL
  560. 5680 R=INT(30*RND(0)):YL=YL+R:PRINTR;" YARD RETURN.":DOWN=1:YFIRST=10:GOTO5850
  561. 5690 PRINT"[147]"
  562. 5700 PRINTTAB(10);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  563. 5710 PRINTTAB(10);"[165]               [167]"
  564. 5720 PRINTTAB(10);"[165]               [167]"
  565. 5730 PRINTTAB(10);"[165]  IT'S GOOD!!  [167]"
  566. 5740 PRINTTAB(10);"[165]               [167]"
  567. 5750 PRINTTAB(10);"[165]               [167]"
  568. 5760 PRINTTAB(10);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  569. 5770 GOSUB 6280: PRINT"[147]"
  570. 5780 SC(QB)=SC(QB)+3: GOSUB 8770
  571. 5790 Z=QB: QB=MLB: MLB=Z: GOTO 1270
  572. 5800 PRINT:PRINT"FIELD GOAL ATTEMPT IS NO GOOD..."
  573. 5810 YL=100-YL: IF YL<20 THEN YL=20: Y=20
  574. 5820 Z=QB: QB=MLB: MLB=Z: A=QB: IF YL>50 THEN A=MLB
  575. 5830 GOTO 1760
  576. 5840 REM PLAY GAME
  577. 5850 YL=YL+GAIN: IF PEN=1 OR PI=1 OR HOLD=1 THEN 5900
  578. 5860 PEN=0: IF OP<5 THEN R1(QB)=R1(QB)+GAIN: GOTO 5890
  579. 5870 IF OP<10 THEN P1(QB)=P1(QB)+GAIN: PA(QB)=PA(QB)+1
  580. 5880 IF COMP=1 THEN PC(QB)=PC(QB)+1
  581. 5890 NY1(QB)=NY(QB)+GAIN
  582. 5900 IF YL>99 THEN 7510
  583. 5910 IF YL<=0 THEN 6340
  584. 5920 HT=0
  585. 5930 GOSUB 8080
  586. 5940 IF HT=1 THEN 1270
  587. 5950 YFIRST=YFIRST-GAIN
  588. 5960 IF YFIRST>0 THEN 5980
  589. 5970 DOWN=0: YFIRST=10: F1(QB)=F1(QB)+1
  590. 5980 DOWN=DOWN+1
  591. 5990 IF DOWN<5 THEN 6020
  592. 6000 Z=QB: QB=MLB: MLB=Z: YFIRST=10: YL=100-YL: DOWN=1
  593. 6010 PRINT:PRINT"BALL GOES OVER ON DOWNS..."
  594. 6020 ON DOWN GOTO 6030,6040,6050,6060
  595. 6030 D$="FIRST": GOTO 6070
  596. 6040 D$="SECOND": GOTO 6070
  597. 6050 D$="THIRD": GOTO 6070
  598. 6060 D$="FOURTH"
  599. 6070 IF YL+YFIRST<100 THEN 6090
  600. 6080 PRINT:PRINTD$;" DOWN, ";N$(QB);". GOAL TO GO.": GOTO 6100
  601. 6090 PRINT:PRINTD$;" DOWN, ";N$(QB);". "; YFIRST;" YARDS TO GO."
  602. 6100 IF YL<50 THEN Y=YL: NN=QB: GOTO 6120
  603. 6110 Y=100-YL: NN=MLB: 
  604. 6120 PRINT"BALL IS ON ";N$(NN);" ";Y;" YARDLINE."
  605. 6130 TR=15*Q-T:SR=INT((TR-INT(TR))*60): IFQ<>2ORT<28 THEN 6150
  606. 6140 PRINTINT(TR);"MINUTES AND";SR;"SECONDS":PRINT"REMAINING IN HALF."
  607. 6150 IF Q<>4 OR T<58 THEN 6170
  608. 6160 PRINTINT(TR);"MINUTES AND";SR;"SECONDS":PRINT"REMAINING IN GAME."
  609. 6170 GAIN=0: GOTO 1800
  610. 6180 REM TITLE
  611. 6190 PRINT"[147]":PRINT""
  612. 6200 PRINT"     [169]  [223][169]  [223]       [223][169]  [223]  "
  613. 6210 PRINT"              "
  614. 6220 PRINT"                 "
  615. 6230 PRINT"              "
  616. 6240 PRINT"   [146][223]  [146][169] [223]  [146][169]   [146][169]        "
  617. 6250 PRINT"[157][157][157][157][157]L.S."
  618. 6260 GOSUB6280: PRINT"[147]": RETURN
  619. 6270 FOR DELAY=1 TO 2500: NEXT: RETURN
  620. 6280 FOR DELAY=1 TO 5000: NEXT: RETURN
  621. 6290 FOR DELAY=1 TO 1500: NEXT: RETURN
  622. 6300 PRINT"< HIT ANY KEY TO CONTINUE >"
  623. 6310 GET X$
  624. 6320 IF X$="" THEN 6310: WAIT
  625. 6330 RETURN
  626. 6340 REM SAFETY
  627. 6350 GOSUB 6290: PRINT"[147]"
  628. 6360 PRINTTAB(13);"[207][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  629. 6370 PRINTTAB(13);"[165]            [167]"
  630. 6380 PRINTTAB(13);"[165]  SAFETY!!  [167]"
  631. 6390 PRINTTAB(13);"[165]            [167]"
  632. 6400 PRINTTAB(13);"[204][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  633. 6410 GOSUB 6280: PRINT"[147]"
  634. 6420 SC(MLB)=SC(MLB)+2: GOSUB 8770
  635. 6430 Z=QB: QB=MLB: MLB=Z
  636. 6440 PRINT" *** FREE KICK ***": GOTO 1350
  637. 6450 REM FUMBLE
  638. 6460 K=INT(2*RND(.))+1: PEN=0: FUMB=0
  639. 6470 PRINT"FUMBLE ON THE PLAY...": F3(QB)=F3(QB)+1: GOSUB 6270
  640. 6480 PRINT"RECOVERED BY ";N$(K);"."
  641. 6490 IF K=QB THEN 6530
  642. 6500 Z=QB: QB=MLB: MLB=Z: YFIRST=10: DOWN=0: YL=YL+GAIN: YL=100-YL: GAIN=0
  643. 6510 IF YL<1 THENPRINT"TOUCHBACK...": YL=20
  644. 6520 F2(MLB)=F2(MLB)+1
  645. 6530 RETURN
  646. 6540 REM PASS INTERFERENCE
  647. 6550 K=5
  648. 6560 PL=INT((OP-5)*12*RND(.)+5*RND(.)): IF PL=15 THEN PL=16
  649. 6570 IF YL+PL>110 THEN PL=110-YL
  650. 6580 IF PL=5 THEN PL=6
  651. 6590 IF PL=0 THEN PL=2
  652. 6600 PRINTPL;" YARD PASS ATTEMPT..."
  653. 6610 PRINT"PASS INTERFERENCE ON ";N$(MLB);".":PRINT
  654. 6620 GOSUB 7120
  655. 6630 IF P$="Y" THEN 6660
  656. 6640 GAIN=0: IF COMP=1 THEN GAIN=PL
  657. 6650 GOTO 6680
  658. 6660 IF OYL+PL>100 AND LEFT$(P$,1)<>"N" THEN YL=99
  659. 6670 DOWN=0: YFIRST=10
  660. 6680 RETURN
  661. 6690 REM INTERCEPTED
  662. 6700 I1(MLB)=I1(MLB)+1
  663. 6710 PL=INT((OP-5)*20*RND(.))+INT(5*RND(.)): ICEPT=0
  664. 6720 IF PL+YL>110 THEN PL=110-YL
  665. 6730 PRINTPL;" YARD PASS INTERCEPTED!!"
  666. 6740 Z=QB: QB=MLB: MLB=Z: YL=100-YL
  667. 6750 R=INT(20*RND(.))
  668. 6760 PRINTR;" YARD RETURN."
  669. 6770 YL=YL-PL+R: YFIRST=10: DOWN=0: GAIN=0: COMP=0
  670. 6780 IF YL<1 THEN PRINT"TOUCHBACK...":PRINT: YL=20
  671. 6790 RETURN
  672. 6800 REM TIMEOUT
  673. 6810 IF OP=13 THEN T2=QB
  674. 6820 IF DP=7 THEN T2=MLB
  675. 6830 PRINT"TIMEOUT ";N$(T2);"..."
  676. 6840 IF T1(T2)>0 THEN 6890
  677. 6850 T1(T2)=0
  678. 6860 PRINTN$(T2);" HAS NO TIMEOUTS LEFT!!"
  679. 6870 PRINT"NOW 80,000 FANS KNOW YOU CAN'T COUNT!!":PRINT
  680. 6880 GOTO 1800
  681. 6890 T=TLAST+0.1: T1(T2)=T1(T2)-1: TP(QB)=TP(QB)-DM+0.1
  682. 6900 IF T2=2 THEN 6920
  683. 6910 GOSUB 6300
  684. 6920 GOTO 1800
  685. 6930 REM GAIN/LOSS OUTPUT
  686. 6940 IF YL+GAIN<1 THEN GAIN=-YL
  687. 6950 PRINTABS(GAIN);" YARD LOSS.": RETURN
  688. 6960 PRINT"NO GAIN.": RETURN
  689. 6970 PRINT"NO GAIN.": RETURN
  690. 6980 IF YL+GAIN>99 THEN GAIN=100-YL
  691. 6990 PRINTGAIN;" YARD GAIN.": RETURN
  692. 7000 PRINTABS(GAIN);" YARD LOSS."
  693. 7010 REM PENALTY
  694. 7020 K=INT(4*RND(.))+1
  695. 7030 ON K GOTO 7040,7060,7080,7100
  696. 7040 PRINT"HOLDING PENALTY ON ";N$(QB);".": K=1
  697. 7050 PL=-10: GOTO 7120
  698. 7060 PRINT"ILLEGAL PROCEDURE ON ";N$(QB);"."
  699. 7070 PL=-5: GOTO 7120
  700. 7080 PRINT"ROUGH PLAY ON ";N$(MLB);"."
  701. 7090 PL=15: GOTO 7120
  702. 7100 PRINT"OFFSIDE ON ";N$(MLB);"."
  703. 7110 PL=5
  704. 7120 T=T+0.1: IF PL<0 THEN Z=MLB
  705. 7130 IF PL>0 THEN Z=QB
  706. 7140 OYL=YL: IF Z=1 THEN 7300
  707. 7150 ON K GOTO 7160,7200,7240,7260,7280
  708. 7160 IF YL+GAIN>99 THEN P$="Y": GOTO 7320
  709. 7170 IF YL+GAIN<1 THEN P$="N": GOTO 7320
  710. 7180 IF (GAIN<YFIRST AND DOWN=3)OR(GAIN<YFIRST AND DOWN=4)THEN P$="N": GOTO 7320
  711. 7190 P$="Y": GOTO 7320
  712. 7200 IF YL+GAIN>99 THEN P$="Y": GOTO 7320
  713. 7210 IF GAIN<YFIRST AND DOWN=4 THEN P$="N": GOTO 7320
  714. 7220 IF ((GAIN<YFIRST AND DOWN=3)OR(GAIN<0)) THEN P$="N":GOTO 7320
  715. 7230 P$="Y": GOTO 7320
  716. 7240 IF YL+GAIN<100 THEN P$="Y": GOTO 7320
  717. 7250 P$="N": GOTO 7320
  718. 7260 IF GAIN>YFIRST AND GAIN>PL OR YL+GAIN>99 THEN P$="N": GOTO 7320
  719. 7270 P$="Y": GOTO 7320
  720. 7280 IF GAIN>PL AND GAIN>=YFIRST THEN P$="N"
  721. 7290 P$="Y": GOTO 7320
  722. 7300 PRINT"DOES ";N$(Z);" ACCEPT PENALTY";
  723. 7310 INPUT P$
  724. 7320 IF LEFT$(P$,1)="N" THEN 7400
  725. 7330 PRINT"PENALTY ACCEPTED...": IF PL=15 THEN 7350
  726. 7340 DOWN=DOWN-1: YFIRST=YFIRST-PL: YL=YL+PL: GAIN=0: GOTO 7370
  727. 7350 IF YL+GAIN+PL>99 THEN YL=YL+GAIN+INT((100-YL-GAIN)/2)
  728. 7360 GAIN=GAIN+PL: YL=YL+GAIN: DOWN=0: YFIRST=10: GAIN=0
  729. 7370 IF Z=MLB THEN ZZ=QB
  730. 7380 IF Z=QB THEN ZZ=MLB
  731. 7390 P2(ZZ)=P2(ZZ)+1: P3(ZZ)=P3(ZZ)+ABS(PL): GOTO 7410
  732. 7400 PRINT"PENALTY DECLINED...": GOTO 5850
  733. 7410 IF YL<1 THEN YL=INT(OYL/2): YFIRST=YFIRST+OYL-YL
  734. 7420 IF YL>99 THEN YL=OYL+INT((100-OYL)/2): YFIRST=YFIRST+OYL-YL
  735. 7430 RETURN
  736. 7440 REM SACK
  737. 7450 LOSS=INT(20*RND(0))+1: SACK=0
  738. 7460 PRINT"QUARTERBACK IS SACKED FOR A ";LOSS
  739. 7470 PRINT"YARD LOSS!"
  740. 7480 GAIN=-LOSS: GOTO 5850
  741. 7490 PRINT"PASS COMPLETE...": RETURN
  742. 7500 PRINT"PASS INCOMPLETE...": RETURN
  743. 7510 GOSUB 6290: PRINT"[147]":PRINT""
  744. 7520 PRINTTAB(9);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  745. 7530 PRINTTAB(9);"[180]                  [167]"
  746. 7540 PRINTTAB(9);"[180]                  [167]"
  747. 7550 PRINTTAB(9);"[180]   TOUCHDOWN!!!   [167]"
  748. 7560 PRINTTAB(9);"[180]                  [167]"
  749. 7570 PRINTTAB(9);"[180]                  [167]"
  750. 7580 PRINTTAB(9);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  751. 7590 SC(QB)=SC(QB)+7
  752. 7600 Z=QB: QB=MLB: MLB=Z
  753. 7610 GOSUB6280: GOSUB 8770: GOTO 1270
  754. 7620 REM 12. STATUS
  755. 7630 PRINT"[147]STATUS[146]":PRINT
  756. 7640 IF E=1 THEN Q=4
  757. 7650 PRINT"QUARTER:  ";Q:PRINT:PRINT
  758. 7660 PRINT"SCORE:"
  759. 7670 FOR I=1 TO 2
  760. 7680 PRINT N$(I);TAB(14); SC(I)
  761. 7690 NEXT I
  762. 7700 PRINT:PRINT
  763. 7710 TT=(15*Q)-T
  764. 7720 SEC=INT((TT-INT(TT))*60)
  765. 7730 IF E=1 THEN TT=0: SEC=0
  766. 7740 PRINT"TIME REMAINING IN QUARTER:"
  767. 7750 PRINTINT(TT);" MINUTES AND ";SEC;" SECONDS"
  768. 7760 PRINT:PRINT
  769. 7770 PRINT"TIMEOUTS REMAINING:"
  770. 7780 FOR I=1 TO 2
  771. 7790 PRINTN$(I);TAB(14);T1(I): NEXT I: IF HT=1 THEN 7860
  772. 7800 IF E=1 THEN 7860
  773. 7810 DN=DOWN: IF DOWN=0 THEN DN=1
  774. 7820 PRINT:PRINT:PRINT"DOWN: ";DN
  775. 7830 PRINT"YARDS TO GO ";YFIRST
  776. 7840 QK=QB: IF YL>50 THEN QK=MLB: Y=100-YL
  777. 7850 PRINT"BALL ON: ";N$(QK);Y;"YARD LINE": GOSUB 6280
  778. 7860 PRINT"DO YOU WANT TO SEE GAME STATISTICS";
  779. 7870 INPUT S$
  780. 7880 IF LEFT$(S$,1)<>"N" THEN GOSUB 9110
  781. 7890 GOSUB 6300: IF T=15 OR T=30 OR T=45 OR T=60 THEN RETURN
  782. 7900 IF DP=8 THEN RETURN
  783. 7910 GOTO 1800
  784. 7920 PRINT"[147]ARE YOU SURE YOU WANT TO QUIT,"
  785. 7930 PRINT"YOU COWARD";
  786. 7940 INPUT Q$
  787. 7950 IF LEFT$(Q$,1)="Y" THEN 7970
  788. 7960 GOTO 1800
  789. 7970 PRINT"[147]"
  790. 7980 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  791. 7990 PRINTTAB(7);"[165]                       [167]"
  792. 8000 PRINTTAB(7);"[165]                       [167]"
  793. 8010 PRINTTAB(7);"[165]    *** CHICKEN ***    [167]"
  794. 8020 PRINTTAB(7);"[165]                       [167]"
  795. 8030 PRINTTAB(7);"[165]                       [167]"
  796. 8040 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  797. 8050 GOSUB 6280
  798. 8060 PRINT"[147]"
  799. 8070 GOTO 9080
  800. 8080 REM TIME COUNT
  801. 8090 IF OP=1 OR OP=2 THEN 8150
  802. 8100 IF OP=3 AND RND(.)<0.5 THEN 8150
  803. 8110 IF OP=4 AND RND(.)<0.3 THEN 8150
  804. 8120 IF COMP=0 THEN 8170
  805. 8130 IF OP=9 AND RND(.)<0.8 THEN 8170
  806. 8140 IF RND(.)<0.3 THEN 8170
  807. 8150 TLAST=T
  808. 8160 T=T+0.5: TP(QB)=TP(QB)+0.5: DM=0.5: GOTO 8190
  809. 8170 TLAST=T
  810. 8180 T=T+0.15: TP(QB)=TP(QB)+0.15: DM=0.15: IF OT=1 THEN RETURN
  811. 8190 IF T>=58 AND WW=0 THEN GOSUB 8590
  812. 8200 IF T>=28 AND W=0 THEN GOSUB 8590
  813. 8210 IF T<=15*Q THEN 8580
  814. 8220 Q=Q+1
  815. 8230 ON Q-1  GOTO 8240,8320,8430,8500
  816. 8240 GOSUB 6270
  817. 8250 PRINT"[147]"
  818. 8260 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  819. 8270 PRINTTAB(7);"[165]                       [167]"
  820. 8280 PRINTTAB(7);"[165] END OF FIRST QUARTER  [167]"
  821. 8290 PRINTTAB(7);"[165]                       [167]"
  822. 8300 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]": GOSUB 8700
  823. 8310 GOSUB 6280: T=15: GOSUB 8830: GOSUB 7620: GOTO8580
  824. 8320 GOSUB 6270: PRINT"[147]"
  825. 8330 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  826. 8340 PRINTTAB(7);"[165]                       [167]"
  827. 8350 PRINTTAB(7);"[165]   END OF FIRST HALF   [167]"
  828. 8360 PRINTTAB(7);"[165]                       [167]"
  829. 8370 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  830. 8380 GOSUB 6280: T=30: GOSUB 8830: HT=1
  831. 8390 QB=SX: T1(1)=3: T1(2)=3: GOSUB 7620
  832. 8400 IF QB<>2 THEN MLB=2: GOTO 8420
  833. 8410 IF QB<>1 THEN MLB=1
  834. 8420 GOSUB 9290: RETURN
  835. 8430 GOSUB 6270: PRINT"[147]"
  836. 8440 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  837. 8450 PRINTTAB(7);"[165]                       [167]"
  838. 8460 PRINTTAB(7);"[165]  END OF THIRD QUARTER [167]"
  839. 8470 PRINTTAB(7);"[165]                       [167]"
  840. 8480 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  841. 8490 GOSUB 6280: T=45: GOSUB 8830: GOSUB 7620: GOTO8580
  842. 8500 GOSUB 6270
  843. 8510 PRINT"[147]"
  844. 8520 PRINTTAB(7);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  845. 8530 PRINTTAB(7);"[165]                       [167]"
  846. 8540 PRINTTAB(7);"[165]     END OF GAME!!!    [167]"
  847. 8550 PRINTTAB(7);"[165]                       [167]"
  848. 8560 PRINTTAB(7);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  849. 8570 GOSUB 6280:PRINT"[147]":T=60:GOSUB8830:E=1:GOSUB 7620: GOTO 8890
  850. 8580 RETURN
  851. 8590 REM 2 MINUTE WARNING
  852. 8600 IF T<30 THEN W=1
  853. 8610 IF T>30 THEN WW=1
  854. 8620 GOSUB 6270: PRINT"[147]"
  855. 8630 PRINTTAB(8);"[207][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  856. 8640 PRINTTAB(8);"[165]                     [167]"
  857. 8650 PRINTTAB(8);"[165]  TWO MINUTE WARNING [167]"
  858. 8660 PRINTTAB(8);"[165]                     [167]"
  859. 8670 PRINTTAB(8);"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  860. 8680 GOSUB 6280: PRINT"[147]"
  861. 8690 RETURN
  862. 8700 REM COMPUTER TEAM ADJUSTMENTS BETWEEN FIRST AND SECOND QUARTERS
  863. 8710 IF SC(1)-SC(2)<=0 THEN 8760
  864. 8720 STR(2,3)=STR(1,1): STR(2,4)=STR(1,2)
  865. 8730 STR(2,1)=5*RND(.)+WF: STR(2,2)=5*RND(.)+WF: STR(2,5)=4*RND(.)+WF
  866. 8740 FOR K=1 TO 5
  867. 8750 IF STR(2,K)<1 THEN STR(2,K)=1: NEXT K
  868. 8760 RETURN
  869. 8770 REM DISPLAY SCORE
  870. 8780 PRINT"[147]";TAB(8);N$(1);TAB(24);SC(1):PRINT
  871. 8790 PRINTTAB(8);N$(2);TAB(24);SC(2)
  872. 8800 GOSUB 6280
  873. 8810 PRINT"[147]"
  874. 8820 RETURN
  875. 8830 REM TIME OF POSSESSION CORRECTION
  876. 8840 C=T-TP(1)-TP(2)
  877. 8850 A=TP(1)/(TP(1)+TP(2)): B=1-A
  878. 8860 TP(1)=TP(1)+A*C
  879. 8870 TP(2)=TP(2)+B*C
  880. 8880 RETURN
  881. 8890 PRINT"[147]": OT=0
  882. 8900 IF SC(1)-SC(2)>0 THEN W=1: GOTO 8930
  883. 8910 IF SC(1)-SC(2)<0 THEN W=2: GOTO 8930
  884. 8920 GOTO 9360
  885. 8930 PRINT"*** ";N$(W);" WON!! ***"
  886. 8940 IF L$="W" THEN AZ=1
  887. 8950 IF L$="E" THEN AZ=2
  888. 8960 IF L$="M" THEN AZ=3
  889. 8970 IF L$="H" THEN AZ=4
  890. 8980 IF W=2 THEN 9080
  891. 8990 ON AZ GOTO 9000,9020,9040,9060
  892. 9000 PRINT"NOT BAD FOR A WIMP!!  REAL HEROS USE"
  893. 9010 PRINT"THE 'MEDIUM' AND 'HARD' LEVELS!!": END
  894. 9020 PRINT"BIG DEAL! SO YOU WON! REAL HEROS USE"
  895. 9030 PRINT"THE 'MEDIUM' AND 'HARD' LEVELS!!": END
  896. 9040 PRINT"NOT BAD FOR AN AMATEUR! LET'S SEE"
  897. 9050 PRINT"YOU DO IT AGAIN ON THE HARD LEVEL!!": END
  898. 9060 PRINT"YOU'RE A REAL HERO (AND LUCKY TOO)!"
  899. 9070 PRINT"BET YOU CAN'T DO IT AGAIN!": END
  900. 9080 PRINT"YOU COULDN'T EVEN BEAT THE COMPUTER!"
  901. 9090 PRINT"HA HA HA HA HA HA HA HA HA HA HA!!!"
  902. 9100 END
  903. 9110 REM STATISTICS
  904. 9120 PRINT"[147]STATISTICS:[146]":PRINT
  905. 9130 PRINT"STATISIC";TAB(15);N$(1);TAB(29);N$(2):PRINT
  906. 9140 PRINT"FIRST DOWNS";TAB(15);F1(1);TAB(29);F1(2)
  907. 9150 PRINT"RUSHING";TAB(15);R1(1);TAB(29);R1(2)
  908. 9160 PRINT"PASSING";TAB(15);P1(1);TAB(29);P1(2)
  909. 9170 PRINT"NET YARDS";TAB(15);NY1(1);TAB(29);NY1(2)
  910. 9180 PRINT"PASSES";TAB(15);PC(1);"/";PA(1);TAB(29);PC(2);"/";PA(2)
  911. 9190 PRINT"INTERCEPTED BY";TAB(15);I1(1);TAB(29);I1(2)
  912. 9200 PRINT"PUNTS";TAB(15);P4(1);"-";P5(1);
  913. 9210 PRINTTAB(29);P4(2);"-";P5(2)
  914. 9220 PRINT"FUMBLES/LOST";TAB(15);F3(1);"/";F2(1);TAB(29);F3(2);"/";F2(2)
  915. 9230 PRINT"PENALTIES/";TAB(15);P2(1);"-";P3(1);TAB(29);P2(2);"-";P3(2)
  916. 9240 PRINT"    YARDS"
  917. 9250 PRINT"TIME OF";TAB(15);INT((TP(1)+0.05)*10)/10;
  918. 9260 PRINTTAB(29);INT((TP(2)+0.05)*10)/10
  919. 9270 PRINT"POSSESSION"
  920. 9280 RETURN
  921. 9290 REM COMPUTER TEAM MAKES ADJUSTMENTS AT HALFTIME
  922. 9300 IF SC(1)-SC(2)<0 THEN 9350
  923. 9310 FOR I=1 TO 5
  924. 9320 STR(2,I)=3.5+WF
  925. 9330 IF STR(2,I)<STR(1,I) THEN STR(2,I)=STR(1,I)
  926. 9340 NEXT I
  927. 9350 RETURN
  928. 9360 REM OVERTIME
  929. 9370 PRINT"[147]"
  930. 9380 PRINTTAB(13);"[207][163][163][163][163][163][163][163][163][163][163][163][163][208]"
  931. 9390 PRINTTAB(13);"[165]            [167]"
  932. 9400 PRINTTAB(13);"[165]  OVERTIME  [167]"
  933. 9410 PRINTTAB(13);"[165]            [167]"
  934. 9420 PRINTTAB(13);"[204][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  935. 9430 GOSUB 6270: OT=1: Q=5: E=0: T1(1)=3: T1(2)=3
  936. 9440 PRINT"[147]"
  937. 9450 GOTO 1050
  938. 9460 REM HALF/GAME CANNOT END ON PENALTY
  939. 9470 IF Q=2 AND T>29.5 THEN PENALTY=0: PI=0: HOLD=0
  940. 9480 IF Q=4 AND T>59.5 THEN PENALTY=0: PI=0: HOLD=0
  941. 9490 RETURN
  942. 9500 REM COMPUTER OFFENSIVE STRATEGY
  943. 9510 R=STR(2,1)-STR(1,3): B=0
  944. 9520 P=STR(2,2)-STR(1,4)
  945. 9530 IF OT=1 THEN 9570
  946. 9540 IF DOWN=4 AND T<58 THEN 9570
  947. 9550 IF Q=2 AND T>27 AND SC(1)-SC(2)>0 THEN 9770
  948. 9560 IF Q=4 AND T>57 AND SC(1)-SC(2)>0 THEN 9770
  949. 9570 IF (R>0 AND P>0) OR (R<0 AND P<0) OR (R=0 AND P=0) THEN B=1
  950. 9580 ON DOWN GOTO 9590,9590,9660,9710
  951. 9590 IF YFIRST<3 THEN GOSUB 10020: GOTO 1840
  952. 9600 IF B<>1 THEN 9620
  953. 9610 IF RND(.)<0.5 THEN R=1: GOTO 9620
  954. 9620 IF R>0 THEN GOSUB 9840: GOTO 9640
  955. 9630 GOSUB 9890
  956. 9640 GOTO 1840
  957. 9650 REM COMPUTER OFFENCE - THIRD DOWN
  958. 9660 IF YFIRST>9 THEN GOSUB 9990: GOTO 9700
  959. 9670 IF YFIRST>3 THEN GOSUB 9890: GOTO 9700
  960. 9680 IF R>0 OR YFIRST=1 THEN GOSUB 10020: GOTO 9700
  961. 9690 GOSUB 9960
  962. 9700 GOTO 1840
  963. 9710 REM COMPUTER OFFENCE - FOURTH DOWN
  964. 9720 IF YL>70-2*STR(QB,5) THEN OP=11: GOTO 1840
  965. 9730 IF YFIRST>1 THEN OP=10: GOTO 1840
  966. 9740 IF YL<50 THEN OP=10: GOTO 1840
  967. 9750 OP=1: GOTO 1840
  968. 9760 REM 2 MINUTE OFFENCE
  969. 9770 IF T-TLAST=0.5 AND T1(2)>0 THEN OP=13: GOTO 1840
  970. 9780 IF Q=2 AND T>29.5 AND YL>=65 THEN OP=11: GOTO 1840
  971. 9790 IF SC(1)-SC(2)<4 AND T>59.5 AND YL>55 THEN OP=11: GOTO 1840
  972. 9800 IF Q=2 AND DOWN=4 THEN 9710
  973. 9810 IF (DOWN=1 OR DOWN=2) AND RND(.)<0.2 THEN OP=8: GOTO 1840
  974. 9820 OP=9: GOTO 1840
  975. 9830 REM CHOOSE OFFENSIVE PLAY (MAINLY RUN)
  976. 9840 IF RND(.)<0.7 THEN GOSUB 9930: GOTO 9870
  977. 9850 IF RND(.)<0.8 THEN GOSUB 9960: GOTO 9870
  978. 9860 GOSUB 9990
  979. 9870 RETURN
  980. 9880 REM CHOOSE OFFENSIVE PLAY (MAINLY SHORT PASS)
  981. 9890 IF RND(.)<0.7 THEN GOSUB 9960: GOTO 9920
  982. 9900 IF RND(.)<0.8 THEN GOSUB 9930: GOTO 9920
  983. 9910 GOSUB 9990
  984. 9920 RETURN
  985. 9930 REM CHOOSE RUNNING PLAY
  986. 9940 OP=INT(3*RND(.))+1
  987. 9950 RETURN
  988. 9960 REM CHOOSE SHORT PASS PLAY
  989. 9970 OP=INT(3*RND(.))+5
  990. 9980 RETURN
  991. 9990 REM CHOOSE LONG PASS PLAY
  992. 10000 OP=INT(2*RND(.))+7
  993. 10010 RETURN
  994. 10020 REM SHORT YARDAGE OFFENCE
  995. 10030 IF RND(.)<0.8 THEN OP=1: GOTO 10050
  996. 10040 OP=8
  997. 10050 RETURN
  998. 10060 REM COMPUTER DEFENCE
  999. 10070 SS=SC(1)-SC(2): IF OT=1 THEN 10100
  1000. 10080 IF Q=2 AND T>28 THEN 10510
  1001. 10090 IF Q=4 AND T>58 THEN 10510
  1002. 10100 R=STR(1,1)-STR(2,3): B=0
  1003. 10110 P=STR(1,2)-STR(2,4)
  1004. 10120 IF (R>0 AND P>0) OR (R<0 AND P<0) OR (R=0 AND P=0) THEN B=1
  1005. 10130 ON DOWN GOTO 10150,10190,10240,10280
  1006. 10140 REM FIRST DOWN DEFENCE
  1007. 10150 IF B=1 THEN GOSUB 10370: GOTO 10180
  1008. 10160 IF R>0 THEN GOSUB 10340: GOTO 10180
  1009. 10170 GOSUB 10310
  1010. 10180 GOTO 2190
  1011. 10190 REM SECOND DOWN DEFENCE
  1012. 10200 IF YFIRST>9 THEN GOSUB 10310: GOTO 10230
  1013. 10210 IF YFIRST>3 THEN GOSUB 10370: GOTO 10230
  1014. 10220 GOSUB 10340
  1015. 10230 GOTO 2190
  1016. 10240 REM THIRD DOWN DEFENCE
  1017. 10250 IF YFIRST>4 THEN GOSUB 10430: GOTO 10270
  1018. 10260 GOSUB 10470
  1019. 10270 GOTO 2190
  1020. 10280 REM FOURTH DOWN DEFENCE
  1021. 10290 IF YFIRST>4 THEN GOSUB 10430: GOTO 2210
  1022. 10300 GOSUB 10470: GOTO 2190
  1023. 10310 REM STOP PASSING TEAM
  1024. 10320 IF RND(.)<0.5 THEN GOSUB 10400: RETURN
  1025. 10330 GOSUB 10430: RETURN
  1026. 10340 REM STOP RUNNING TEAM
  1027. 10350 IF RND(.)<0.5 THEN GOSUB 10400: RETURN
  1028. 10360 GOSUB 10470: RETURN
  1029. 10370 REM STOP PASSING/RUNNING TEAM
  1030. 10380 IF RND(.)<0.5 THEN GOSUB 10340: RETURN
  1031. 10390 GOSUB 10310: RETURN
  1032. 10400 REM STANDARD DEFENCE
  1033. 10410 IF RND(.)<0.8 THEN DP=1: RETURN
  1034. 10420 DP=5: RETURN
  1035. 10430 REM PASS DEFENCE
  1036. 10440 IF RND(.)<0.7 THEN DP=3: RETURN
  1037. 10450 IF RND(.)<0.5 THEN DP=5: RETURN
  1038. 10460 DP=6: RETURN
  1039. 10470 REM RUN DEFENCE
  1040. 10480 IF RND(.)<0.8 THEN DP=2: RETURN
  1041. 10490 IF RND(.)<0.5 THEN DP=5: RETURN
  1042. 10500 DP=6: RETURN
  1043. 10510 REM 2 MINUTE COMPUTER DEFENCE
  1044. 10520 IF SS>0 AND Q=4 AND T-TLAST=0.5 AND T1(2)>0 THEN DP=7: GOTO 2190
  1045. 10530 IF SS>=0 THEN 10100
  1046. 10540 IF YL>90 AND RND(.)<0.8 THEN DP=6: GOTO 2190
  1047. 10550 DP=3: GOTO 2190
  1048.